//This file is Visual Mill Post-Processor Macro File
//**************************************************************************************************
// Created by Post-Processor Generator
//**************************************************************************************************


//--------------------------------------------------------------------------------------------------
// INFORMATION SECTION
//--------------------------------------------------------------------------------------------------
INFORMATION_Version = 3.000
INFORMATION_MacroVersion = 1.020


//--------------------------------------------------------------------------------------------------
// GENERAL DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
GENERAL_Extension = G
GENERAL_StartReadingChar = 
GENERAL_StopReadingChar = 
GENERAL_UseSequencNo = 1
GENERAL_PrefixLetter = N
GENERAL_Increment = 10
GENERAL_SequenceStartNo = 10
GENERAL_ShowLeadingZeros = 0
GENERAL_LeadingZerosNumOfDigit = 4
GENERAL_Mode = 0
GENERAL_AbsCode = G90
GENERAL_IncCode = G91
GENERAL_AbsCenterCode = Datum
GENERAL_Units = 0
GENERAL_InchCode = G70
GENERAL_MetricCode = G71
GENERAL_ModalGCode = 1
GENERAL_ModalXYZ = 1
GENERAL_ModalFeedrate = 1
GENERAL_ModalSpindle = 1
GENERAL_Delimiter = 1
GENERAL_UserDefinedDelimiter = ,
GENERAL_EndBlockCharacter = 
GENERAL_OutputPlusSign = 0
GENERAL_CommentOutput = 0
GENERAL_CommentStartChar = *
GENERAL_CommentEndChar = *
GENERAL_CommentSequenceMode = 1
GENERAL_XRegister = X
GENERAL_YRegister = Y
GENERAL_ZRegister = Z


//--------------------------------------------------------------------------------------------------
// MOTION DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
MOTION_BlockPrefix = 
MOTION_LinearMotionCode = G01
MOTION_RapidMotionCode = G0
MOTION_BlockPostfix = 
MOTION_Order = 0
MOTION_RapidFormat = 1
MOTION_ScaleFactorX = 1.000000
MOTION_ScaleFactorY = 1.000000
MOTION_ScaleFactorZ = 1.000000
MOTION_NumOfDecimalPlaces = 3
MOTION_LinearBlock = [G_CODE][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z]
MOTION_ShowMotionTrailingZeros = 0
MOTION_RapidBlockStart
[G_CODE][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z]
MOTION_RapidBlockEnd


//--------------------------------------------------------------------------------------------------
// CIRCLE DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
CIRCLE_ClockwiseArcCode = G02
CIRCLE_CClockwiseArcCode = G03
CIRCLE_XYPlaneCode = G17
CIRCLE_YZPlaneCode = G19
CIRCLE_ZXPlaneCode = G18
CIRCLE_BlockXYStart
[CIR_PLANE]

[G_CODE][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_I][DELIMITER][NEXT_J]
CIRCLE_BlockXYEnd
CIRCLE_BlockZXStart
[CIR_PLANE]

[G_CODE][DELIMITER][NEXT_X][DELIMITER][NEXT_Z][DELIMITER][NEXT_I][DELIMITER][NEXT_K]
CIRCLE_BlockZXEnd
CIRCLE_BlockYZStart
[CIR_PLANE]

[G_CODE][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z][DELIMITER][NEXT_J][DELIMITER][NEXT_K]
CIRCLE_BlockYZEnd
CIRCLE_ArcCenterCoordinate = 1
CIRCLE_Modal = 0
CIRCLE_Format = 1
CIRCLE_SignedRadius = 0
CIRCLE_SwitchPlanes = 2
CIRCLE_LimitArcs = 1
CIRCLE_LimitAngle = 180.000000
CIRCLE_IRegister = I
CIRCLE_JRegister = J
CIRCLE_KRegister = K
CIRCLE_RRegister = R


//--------------------------------------------------------------------------------------------------
// HELIXSPIRAL DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
HELIXSPIRAL_ClockwiseArcCodeHelix = 
HELIXSPIRAL_CClockwiseArcCodeHelix = 
HELIXSPIRAL_ClockwiseArcCodeSpiral = 
HELIXSPIRAL_CClockwiseArcCodeSpiral = 
HELIXSPIRAL_BlockXYHelixStart

HELIXSPIRAL_BlockXYHelixEnd
HELIXSPIRAL_BlockZXHelixStart

HELIXSPIRAL_BlockZXHelixEnd
HELIXSPIRAL_BlockYZHelixStart

HELIXSPIRAL_BlockYZHelixEnd
HELIXSPIRAL_BlockXYSpiralStart

HELIXSPIRAL_BlockXYSpiralEnd
HELIXSPIRAL_BlockZXSpiralStart

HELIXSPIRAL_BlockZXSpiralEnd
HELIXSPIRAL_BlockYZSpiralStart

HELIXSPIRAL_BlockYZSpiralEnd


//--------------------------------------------------------------------------------------------------
// 4AXIS MOTION DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
GENERALMOTION_ClockwiseRotation = -
GENERALMOTION_CClockwiseRotation = 
GENERALMOTION_Aaxis = A
GENERALMOTION_Baxis = B
GENERALMOTION_Caxis = C
GENERALMOTION_ScaleFactor = 1.000000000000
GENERALMOTION_ShowTrailingZeros = 0
GENERALMOTION_NumOfDecimalPlaces = 1
GENERALMOTION_LinearBlockStart

GENERALMOTION_LinearBlockEnd
GENERALMOTION_RapidBlockStart

GENERALMOTION_RapidBlockEnd


//--------------------------------------------------------------------------------------------------
// SPINDLE DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
SPINDLE_BlockPrefix = 
SPINDLE_Code = S
SPINDLE_BlockPostfix = 
SPINDLE_ClockwiseRotationCode = M03
SPINDLE_CClockwiseRotationCode = M04
SPINDLE_OffCode = M05
SPINDLE_HighValue = 8000.000000
SPINDLE_LowValue = 50.000000
SPINDLE_ScaleFactor = 1.000000
SPINDLE_NumOfDecimalPlaces = 0
SPINDLE_Block = [SPINDLE_CODE][SPINDLE_SPD][DELIMITER][SPINDLE_ARC]
SPINDLE_ShowSpindleTrailingZeros = 0


//--------------------------------------------------------------------------------------------------
// FEEDRATE DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
FEEDRATE_BlockPrefix = 
FEEDRATE_Code = F
FEEDRATE_BlockPostfix = 
FEEDRATE_HighValue = 78.740157
FEEDRATE_LowValue = 0.393701
FEEDRATE_ScaleFactor = 1.000000
FEEDRATE_NumOfDecimalPlaces = 0
FEEDRATE_Block = [FEEDRATE_CODE][FEEDRATE]
FEEDRATE_OutputPlace = 1
FEEDRATE_ShowTrailingZeros = 0
FEEDRATE_FeedScaleFactor = 1.000000
FEEDRATE_FeedShowTrailingZeros = 0
FEEDRATE_FeedNumOfDecimalPlaces = 1
FEEDRATE_ZScaleFactor = 1.000000


//--------------------------------------------------------------------------------------------------
// MISCELLANEOUS DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
MISCELLANEOUS_CoolantOff = M09
MISCELLANEOUS_CoolantOn = M51
MISCELLANEOUS_CoolantMist = M07
MISCELLANEOUS_CoolantFlood = M08
MISCELLANEOUS_CoolantThru = M50
MISCELLANEOUS_CoolantTap = M51
MISCELLANEOUS_CompensationOff = ToolComp Off
MISCELLANEOUS_CompensationLeft = ToolComp Left
MISCELLANEOUS_CompensationRight = ToolComp Right
MISCELLANEOUS_CompensationLength = G43


//--------------------------------------------------------------------------------------------------
// STARTUP DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
STARTUP_ProgramCodeStart
[SEQ_PRECHAR][SEQNUM] [OUTPUT_MODE_CODE] G70 G17 G0  

[SEQ_PRECHAR][SEQNUM] [OUTPUT_UNITS_CODE]
STARTUP_ProgramCodeEnd


//--------------------------------------------------------------------------------------------------
// TOOLCHANGE DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
TOOLCHANGE_AdjustRegister = H
TOOLCHANGE_FirstMacroStart
[SEQ_PRECHAR][SEQNUM] M3  

[SEQ_PRECHAR][SEQNUM] T[TOOL_NUM] M06  

[SEQ_PRECHAR][SEQNUM][SPINDLE_BLK]  

[SEQ_PRECHAR][SEQNUM] [RAPID] Z5.0  

[SEQ_PRECHAR][SEQNUM] M9   

[SEQ_PRECHAR][SEQNUM] G0 X[NEXT_NONMDL_X] Y[NEXT_NONMDL_Y]
TOOLCHANGE_FirstMacroEnd
TOOLCHANGE_MacroStart
[SEQ_PRECHAR][SEQNUM] M3  

[SEQ_PRECHAR][SEQNUM] T[TOOL_NUM] M06  

[SEQ_PRECHAR][SEQNUM][SPINDLE_BLK]  

[SEQ_PRECHAR][SEQNUM] [RAPID] Z5.0  

[SEQ_PRECHAR][SEQNUM] M9  

[SEQ_PRECHAR][SEQNUM] G0 X[NEXT_NONMDL_X] Y[NEXT_NONMDL_Y]
TOOLCHANGE_MacroEnd
TOOLCHANGE_CutComLeftStart

TOOLCHANGE_CutComLeftEnd
TOOLCHANGE_CutComRightStart

TOOLCHANGE_CutComRightEnd
TOOLCHANGE_CutComOffStart

TOOLCHANGE_CutComOffEnd
TOOLCHANGE_Use2DigitFormat = 0


//--------------------------------------------------------------------------------------------------
// CYCLES DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
CYCLES_DrillDwell = G82
CYCLES_DrillNoDwell = G81
CYCLES_Deep = G83
CYCLES_BreakChip = G87
CYCLES_CounterSink = 
CYCLES_TapClockwise = G84
CYCLES_TapCClockwise = 
CYCLES_BoreDragDwell = 
CYCLES_BoreDragNoDwell = G85
CYCLES_BoreNoDragDwellOrient = 
CYCLES_BoreNoDragDwellNoOrient = 
CYCLES_BoreNoDragNoDwellOrient = 
CYCLES_BoreNoDragNoDwellNoOrient = 
CYCLES_BoreManualDwell = 
CYCLES_BoreManualNoDwell = 
CYCLES_BoreReverseDwell = 
CYCLES_BoreReverseNoDwell = 
CYCLES_CycleOff = G80
CYCLES_RigidTapClockwise = 
CYCLES_RigidTapCClockwise = 
CYCLES_UDDrill01 = 
CYCLES_UDDrill02 = 
CYCLES_UDTap01 = G84
CYCLES_UDTap02 = 
CYCLES_UDBore01 = 
CYCLES_UDBore02 = 
CYCLES_UDRBore01 = 
CYCLES_UDRBore02 = 
CYCLES_TurnCycleThreadAutomatic = 
CYCLES_TurnCycleThreadBoxCycle = 
CYCLES_TurnCycleThreadSingleBlock = 
CYCLES_ScaleFactor = 1000.000000
CYCLES_Optimize = 0
CYCLES_FeedrateRegister = F
CYCLES_IncRegister = Q
CYCLES_DwellRegister = P
CYCLES_ClearRegister = R
CYCLES_OrientRegister = Q
CYCLES_DrillDwellCodeStart
[SEQ_PRECHAR][SEQNUM][SPINDLE_BLK] 

[SEQ_PRECHAR][SEQNUM] [G_CODE] Z[CYCL_Z-DEPTH] R[CYCL_Z+CLEAR] F[CYCL_IPM] D[CYCL_DWELL] P[CYCL_Z+DEPTH+CLEAR]  

[SEQ_PRECHAR][SEQNUM] G0 X[NEXT_NONMDL_X] Y[NEXT_NONMDL_Y]
CYCLES_DrillDwellCodeEnd
CYCLES_DrillNoDwellCodeStart
[SEQ_PRECHAR][SEQNUM][SPINDLE_BLK]  

[SEQ_PRECHAR][SEQNUM] [G_CODE] Z[CYCL_Z-DEPTH] R[CYCL_Z+CLEAR] F[CYCL_IPM] P[CYCL_Z+DEPTH+CLEAR]  

[SEQ_PRECHAR][SEQNUM] G0 X[NEXT_NONMDL_X] Y[NEXT_NONMDL_Y]
CYCLES_DrillNoDwellCodeEnd
CYCLES_DeepCodeStart
[SEQ_PRECHAR][SEQNUM][SPINDLE_BLK]  

[SEQ_PRECHAR][SEQNUM] [G_CODE] Z[CYCL_Z-DEPTH] R[CYCL_Z+CLEAR] F[CYCL_IPM] I[CYCL_INCR] P[CYCL_Z+DEPTH+CLEAR]  

[SEQ_PRECHAR][SEQNUM] G0 X[NEXT_NONMDL_X] Y[NEXT_NONMDL_Y]
CYCLES_DeepCodeEnd
CYCLES_BreakChipCodeStart
[SEQ_PRECHAR][SEQNUM][SPINDLE_BLK]  

[SEQ_PRECHAR][SEQNUM] [G_CODE] Z[CYCL_Z-DEPTH] R[CYCL_Z+CLEAR] F[CYCL_IPM] I[CYCL_INCR] J0.0 K[CYCL_INCR] P[CYCL_Z+DEPTH+CLEAR]

[SEQ_PRECHAR][SEQNUM] G0 X[NEXT_NONMDL_X] Y[NEXT_NONMDL_Y]
CYCLES_BreakChipCodeEnd
CYCLES_TapCWCodeStart
[SEQ_PRECHAR][SEQNUM][SPINDLE_BLK]  

[SEQ_PRECHAR][SEQNUM] [G_CODE] Z[CYCL_Z-DEPTH] R[CYCL_Z+CLEAR] F[CYCL_TPI] S1 P[CYCL_Z+DEPTH+CLEAR]   

[SEQ_PRECHAR][SEQNUM] G0 X[NEXT_NONMDL_X] Y[NEXT_NONMDL_Y]
CYCLES_TapCWCodeEnd
CYCLES_CounterSinkCodeStart

CYCLES_CounterSinkCodeEnd
CYCLES_TapCCWodeStart

CYCLES_TapCCWodeEnd
CYCLES_BoreDragDwellCodeStart
[G_CODE] ZDepth [CYCL_Z-DEPTH] StartHgt [CYCL_Z+CLEAR] ReturnHgt [CURR_Z] Dwell [CYCL_DWELL] [FEEDRATE_CODE][DELIMITER][CYCL_IPM]  Rapid X[NEXT_NONMDL_X] Y[NEXT_NONMDL_Y]
CYCLES_BoreDragDwellCodeEnd
CYCLES_BoreDragNoDwellCodeStart
[SEQ_PRECHAR][SEQNUM][SPINDLE_BLK]

[SEQ_PRECHAR][SEQNUM] [G_CODE] Z[CYCL_Z-DEPTH] R[CYCL_Z+CLEAR] F[CYCL_IPM] P[CYCL_Z+DEPTH+CLEAR]

[SEQ_PRECHAR][SEQNUM] G0 X[NEXT_NONMDL_X] Y[NEXT_NONMDL_Y]
CYCLES_BoreDragNoDwellCodeEnd
CYCLES_BoreNoDragDOCodeStart

CYCLES_BoreNoDragDOCodeEnd
CYCLES_BoreNoDragDNOCodeStart

CYCLES_BoreNoDragDNOCodeEnd
CYCLES_BoreNoDragNDOCodeStart

CYCLES_BoreNoDragNDOCodeEnd
CYCLES_BoreNoDragNDNOCodeStart

CYCLES_BoreNoDragNDNOCodeEnd
CYCLES_BoreManualDwellCodeStart

CYCLES_BoreManualDwellCodeEnd
CYCLES_BoreManualNoDwellCodeStart

CYCLES_BoreManualNoDwellCodeEnd
CYCLES_BoreReverseDwellCodeStart

CYCLES_BoreReverseDwellCodeEnd
CYCLES_BoreReverseNoDwellCodeStart

CYCLES_BoreReverseNoDwellCodeEnd
CYCLES_RigidTapClockwiseCodeStart
CYCLES_RigidTapClockwiseCodeEnd
CYCLES_RigidTapCClockwiseCodeStart
CYCLES_RigidTapCClockwiseCodeEnd
CYCLES_UDDrill01CodeStart

CYCLES_UDDrill01CodeEnd
CYCLES_UDDrill02CodeStart

CYCLES_UDDrill02CodeEnd
CYCLES_UDTap01CodeStart
[G_CODE][CYCL_Z-DEPTH][CYCL_Z+DEPTH][CYCL_TPI] 1 [CYCL_Z+DEPTH+CLEAR][CYCL_DWELL]
CYCLES_UDTap01CodeEnd
CYCLES_UDTap02CodeStart

CYCLES_UDTap02CodeEnd
CYCLES_UDBore01CodeStart

CYCLES_UDBore01CodeEnd
CYCLES_UDBore02CodeStart

CYCLES_UDBore02CodeEnd
CYCLES_UDRBore01CodeStart

CYCLES_UDRBore01CodeEnd
CYCLES_UDRBore02CodeStart

CYCLES_UDRBore02CodeEnd
CYCLES_TurnCycleThreadAutomaticCodeStart

CYCLES_TurnCycleThreadAutomaticCodeEnd
CYCLES_TurnCycleThreadBoxCycleCodeStart

CYCLES_TurnCycleThreadBoxCycleCodeEnd
CYCLES_TurnCycleThreadSingleBlockCodeStart

CYCLES_TurnCycleThreadSingleBlockCodeEnd
CYCLES_CycleOffCodeStart
[SEQ_PRECHAR][SEQNUM] G80
CYCLES_CycleOffCodeEnd


//--------------------------------------------------------------------------------------------------
// END DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
END_ProgramCodeStart
[SEQ_PRECHAR][SEQNUM] M0
END_ProgramCodeEnd